Modern processors support vector processing extensions to their instruction set. For example, NEON™ is a vector processing extension to the ARM architecture that provides SIMD (Single Instruction Multiple Data) instructions for performing data-parallel calculations. In the case of NEON™, when the data has a floating-point value, the data must be a single-precision floating-point value. Operating systems designed to run on ARM-based processors may use the .NET Compact Framework as the CLR (Common Language Runtime) that runs the managed code.
Developers view the CLR as abstracting away hardware, but also expect to be able to take advantage of new hardware innovations so that the capabilities of managed code do not fall behind that of native code. Exposing SIMD instructions allows developers to write data-parallel algorithms directly in .NET languages and to utilize data-parallel compute resources, which helps keep managed implementations within range of native performance.